#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define kMaxSize 1000001
#define NIL -1
typedef int Position;
typedef struct StringNode *String;
struct StringNode {
    char data[kMaxSize]; /* 存储字符的数组 */
    int length; /* 字符串长度 */
};

String InitStr();
String ReadString();
Position PatternMatch(String s, String t);

int main(void) {
    int n, i;
    String string, pattern;
    Position p;

    string = ReadString();
    scanf("%d\n", &n);
    for (i = 0; i < n; i++) {
        pattern = ReadString();
        p = PatternMatch(string, pattern);
        if (p != NIL)
            printf("%s\n", string->data + p);
        else
            printf("Not Found\n");
    }
    return 0;
}

String InitStr() {
    /* 初始化一个空的字符串 */
    String s;

    s = (String)malloc(sizeof(struct StringNode));
    s->length = 0;

    return s;
}

String ReadString() {
    int i;
    String s;

    s = InitStr(); /* 创建空的字符串 */
    scanf("%s\n", s->data); /* 输入字符串没有空格 */
    s->length = strlen(s->data); /* 需要string.h */
    return s;
}

Position PatternMatch(String s, String t) {
    /* 待测试的匹配算法放在这个函数里 */
    /* 返回t在s中首次出现的位置 */
    /* 位置是数组的下标 */
    Position i;
    char *p;

    p = strstr(s->data, t->data); /* 需要string.h */
    if (p == NULL)
        return NIL;
    else {
        return (p - s->data);
    }
}